/************************************
ShaderNode

implements a shader
************************************/

#ifndef SHADERNODE_H
#define SHADERNODE_H

#include <string>

#include <scene/SceneNode.h>
#include <base/d3d.h>

class ShaderNode : public SceneNode {
public:
  ShaderNode();
  ShaderNode(const ShaderNode * rhs);

  long preDraw(Device * device);
  long passDraw(Device * device, unsigned long pass);
  long postDraw(Device * device);
  SceneNode * copy() const;

  long shader;
  long technique;

protected:
  LPD3DXEFFECT effect;

};

#endif
